package com.zdf.license.core.model;

import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 自定义需要校验的License参数
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class LicenseExtraParam implements Serializable {
    private static final long serialVersionUID = 1L;
    /** 是否认证ip */
    private boolean isIpCheck ;

    /** 可被允许的IP地址 */
    private List<String> ipAddress;

    /** 是否认证mac */
    private boolean isMacCheck ;

    /** 可被允许的mac地址 */
    private List<String> macAddress;

    /** 是否认证cpu序列号 */
    private boolean isCpuCheck ;

    /** 可被允许的CPU序列号 */
    private String cpuSerial;

    /** 是否认证主板号*/
    private boolean isBoardCheck ;

    /** 可被允许的主板序列号*/
    private String mainBoardSerial;

    private Map<String, Object> params;
    private String serial;

    @Override
    public String toString() {
        return JSONObject.toJSONString(this);
    }
}
